package com.feiuxiu.uitls;

import java.util.Arrays;

/**
 * description: TODO
 * author: feixiu
 * date:2025/9/1 22:07
 */
public class ArraysUtils {
    /**
     *  换行打印 二维数组，并带上行号和列号，第一行和第一列不是数组数据，而是表示行号和列号
     * @param sourceArray 待打印数组
     */
    public static void printTwoArrayWithRow(int[][] sourceArray) {
        int row=sourceArray.length;
        int column=sourceArray[0].length;
        int[][] array=new int[row+1][column+1];
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array[0].length; j++) {
                if (i!=0&&j!=0){
                    array[i][j]=sourceArray[i-1][j-1];
                } else if (i == 0 && j==0) {
                    array[i][j]=-1;
                }else if (j==0){
                    array[i][j]=i-1;
                }else{
                    array[i][j]=j-1;
                }
            }
        }

        String arrayStr = Arrays.deepToString(array)
                .replace("],", "],\n")  // 在每个内部数组后换行
                .replace("[[", "[")     // 去除多余括号
                .replace("]]", "}");
        System.out.println(" "+arrayStr);
    }

    /**
     * 换行打印二维数组
     * @param sourceArray 待打印数组
     */
    public static void printTwoArray(int[][] sourceArray) {

        String arrayStr = Arrays.deepToString(sourceArray)
                .replace("],", "],\n")  // 在每个内部数组后换行
                .replace("[[", "[")     // 去除多余括号
                .replace("]]", "}");
        System.out.println(" "+arrayStr);
    }
}
